package cn.xinfei.xdecision.data.core.vo.credit;

import cn.xinfei.xdecision.common.model.datax.enums.VariableStrategyType;
import cn.xinfei.xdecision.data.core.frame.executors.IVariableRequest;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;

import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

@Data
public class CreditVarRequest implements IVariableRequest {

    private String requestId;
    private List<String> varCodes;

    /**
     * id_card_number,
     * id_card_protyle,
     * credit_channel,
     * inner_app,
     * type,
     * app_id,
     * name,
     * age,
     * app
     */
    private JSONObject inputParam;

    @Override
    public List<VariableStrategyType> requestStrategys() {
        return Collections.singletonList(VariableStrategyType.CREDIT);
    }

    @Override
    public String requestId() {
        return requestId;
    }

    @Override
    public Set<String> varCodes() {
        return new HashSet<>(varCodes);
    }

    @Override
    public JSONObject inputParams() {
        return inputParam;
    }
}
